/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package adngui.controladores;

import adngui.controladores.inicio.InicioControlador;
import java.util.HashMap;

/**
 *
 * @author Diego
 */
public class FabricaControladores {

    private HashMap<controladoresNombre, Controlador> controladores = new HashMap<>();

    public enum controladoresNombre {

        PRINCIPAL, INICIO
    }

    private FabricaControladores() {
    }

    public static FabricaControladores getInstance() {
        return FabricaControladoresHolder.INSTANCE;
    }

    private static class FabricaControladoresHolder {

        private static final FabricaControladores INSTANCE = new FabricaControladores();
    }

    public Controlador getControlador(controladoresNombre nombre) {

        Controlador controlador = controladores.get(nombre);

        if (controlador != null) {
            return controlador;
        }

        switch (nombre) {
            case INICIO:
                controlador = new InicioControlador();
                break;
            case PRINCIPAL:
                controlador = new ControladorPrincipal();
                break;
        }
        controladores.put(nombre, controlador);
        return controlador;

    }
}
